#ifndef __PRIMITIVEDRAWER_H__
#define __PRIMITIVEDRAWER_H__
/////////////////
//include
/////////////////
#include"BoxModel.h"
#include"LineModel.h"
#include"SphereModel.h"
/////////////////
//const
/////////////////

/////////////////
//class
/////////////////
class PrimitiveDrawer
{
public:
	PrimitiveDrawer();
	~PrimitiveDrawer();
	static	void CreateBuffer(Device* device);
	static	void CreateShader(Device* device);
	static	void DrawBox(	DeviceContext* device_context, Vector3D pos,Vector3D size,bool is_wire_frame);
	static	void DrawSphere(DeviceContext* device_context, Vector3D pos,float r);
	static	void DrawLine(	DeviceContext* device_context, Vector3D start,Vector3D end);
	static	void DrawCylinder(DeviceContext* device_context,Vector3D pos,float height,float r);
	static	void DrawTriangle(DeviceContext* device_context,Vector3D offset_pos,Vector3D pos1,Vector3D pos2,Vector3D pos3);
private:
	static	LineModel*		line_model;
	static	Model*			box;
	static	Model*			sphere;
	static	Model*			cylinder;
	static	Shader*			wire_frame_shader;
	static	Shader*			normal_shader;
	static	ID3D11Buffer*	material;
	static	ID3D11Buffer*	vertex_buffer;
	static	Shader*			tri_shader;
	static	ID3D11Buffer*	world_buffer;
};
#endif __PRIMITIVEDRAWER_H__
